home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 3
/
Gold Medal Software - Volume 3 (Gold Medal) (1994).iso
/
bbsutils
/
gifcol27.arj
/
GIFCOLL.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-02-20
|
10KB
|
500 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String TSTRING006(11)
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
;------------------------------------------------------------------------------
STRING001 = "½ùÜ▀╕╢╣ÖÜì▀╜╜¼ "
STRING002 = "Y"
STRING002 = YesChar()
INTEGER007 = 15
STRING008 = ReadLine(PCBDat(), 179)
STRING009 = GetEnv("PCBNODE")
STRING010 = STRING009
STRING011 = STRING010
If (STRING010 < 100) Then
STRING011 = "0" + STRING009
If (STRING010 < 10) Then
STRING011 = "00" + STRING009
Endif
Endif
STRING014 = ReadLine(PCBDat(), 94)
STRING017 = Random(9999)
If (STRING017 > 9980) Then
STRING017 = 9980
Endif
STRING018 = "FLIST." + STRING009
Log "GIF Collage processor command entered.", 0
If (TokCount() == 0) Then
PrintLn "@X0C Download path not specified on PPE command line."
Log "Download path not specified on GIFCOLL PPE command line.", 0
PrintLn "@X0F "
PrintLn "GIF Collage Processor Environment error - Inform your SysOp"
More
End
Endif
STRING016 = GetToken()
If (Exist("GIFCOLL." + STRING011)) Then
Delete "GIFCOLL." + STRING011
Endif
Shell 1, INTEGER016, PPEPath() + "GIFCOL0.EXE " + STRING011 + STRING001, ""
INTEGER016 = 1
If (Exist("GIFCOLL." + STRING011)) Then
FOpen 1, "GIFCOLL." + STRING011, 0, 0
FGet 1, STRING015
FClose 1
Delete "GIFCOLL." + STRING011
If (Exist(PPEPath() + "GIFCOLL." + STRING010)) Then
Delete PPEPath() + "GIFCOLL." + STRING010
Endif
If (STRING014 == STRING015) Then
INTEGER016 = 0
Else
STRING012 = STRING014
STRING013 = STRING014
Tokenize STRING014
If (TokCount() < 6) Then
Goto LABEL001
Endif
Select Case (GetToken())
Case "BITS"
Case "AND"
Case "BYTES"
Case "BBS"
INTEGER016 = 0
:LABEL001
Tokenize STRING012
If (TokCount() < 2) Then
Goto LABEL002
Endif
Select Case (GetToken())
Case "CHANNEL"
Case "1"
INTEGER016 = 0
End Select
Tokenize STRING013
If (TokCount() < 3) Then
Goto LABEL002
Endif
Case "CHANNEL"
Case "1(R)"
Case "COMMUNICATIONS"
INTEGER016 = 0
Goto LABEL002
Endif
Endif
End Select
:LABEL002
Cls
PrintLn " "
PrintLn "@X38┌────────────────────────────────────────────────────────────────────────────@X3B┐@X0B"
If (INTEGER016 == 0) Then
PrintLn "@X38│@X39 GIF Collage Builder - Registered v2.7 @X3B│@X0B"
Else
PrintLn "@X38│@X3E GIF Collage Builder - Shareware v2.7 @X3B│@X0B"
PrintLn "@X38│@X3E Unregistered Evaluation Copy @X3B│@X0B"
Endif
PrintLn "@X38└@X3B────────────────────────────────────────────────────────────────────────────┘@X0F"
If (Exist("GIFCOLL." + STRING011)) Delete "GIFCOLL." + STRING011
If (Exist(STRING018)) Goto LABEL003
Log "PCBoard control file " + STRING018 + " not found, nothing flagged.", 0
Goto LABEL009
:LABEL003
STRING005 = "FLIST" + STRING011 + ".WRK"
If (Exist(STRING005)) Delete STRING005
FOpen 1, STRING018, 0, 0
FOpen 2, STRING005, 1, 1
:LABEL004
If (Ferr(1)) Goto LABEL005
FRead 1, STRING015, 129
FWrite 2, STRING015, 129
Goto LABEL004
:LABEL005
FClose 1
FClose 2
SaveScrn
Shell 1, INTEGER001, PPEPath() + "GIFCOL1.EXE " + STRING011 + STRING009, ""
RestScrn
INTEGER001 = 0
If (Exist("GIFCOLL." + STRING011)) Then
Goto LABEL006
Endif
Log "Unable to read PCBoard control file " + STRING018, 0
Log "Probable installation error.", 0
Log "Be sure that you have SHARE loaded.", 0
Goto LABEL009
:LABEL006
FOpen 1, "GIFCOLL." + STRING011, 0, 0
FGet 1, STRING015
:LABEL007
If (Ferr(1)) Goto LABEL008
INTEGER001 = INTEGER001 + 1
FGet 1, STRING015
Goto LABEL007
:LABEL008
FClose 1
If (INTEGER001 > 1) Then
INTEGER001 = INTEGER001 / 2
Endif
If (INTEGER001 > 0) Then
Goto LABEL010
Endif
:LABEL009
PrintLn " "
PrintLn "@X0EYou have not flagged any @X0CGIF@X0E files for a collage.@X0F"
PrintLn " "
DispFile HelpPath() + "GIF", 1 + 4
End
:LABEL010
If (INTEGER001 > 99) Then
PrintLn "@X0AYou have ", INTEGER001, " GIF's flagged - 99 is the max for this command."
PrintLn "The first 99 of them can be placed in collage files."
InputStr "@X0EDo you wish to continue (@X0CY@X0E/@X0CN@X0E)", STRING002, 14, 1, "", 8192 + 16384
If (Upper(STRING002) == "N") Then
Cls
End
Endif
INTEGER001 = 99
Endif
INTEGER008 = INTEGER001
If (INTEGER016 == 0) Then
Goto LABEL011
Endif
PrintLn " "
Print "@X0EAsk your SysOp to register this program to get rid of this delay. "
Print "@X0C"
For INTEGER002 = 1 To INTEGER007
Print "/"
Delay 4
Backup 1
Print "-"
Delay 5
Backup 1
Print "\"
Delay 4
Backup 1
Print "|"
Backup 1
Delay 5
Next
Backup 66
ClrEol
Goto LABEL012
:LABEL011
PrintLn " "
:LABEL012
PrintLn "@X0FYou have @X0A", INTEGER008, "@X0F GIF files flagged."
PrintLn " "
INTEGER013 = INTEGER008 / 9 + 1
INTEGER014 = INTEGER008 * 20 + INTEGER013 * 13
INTEGER011 = INTEGER014 / 60
If (INTEGER011 == 0) Then
INTEGER011 = 1
Endif
INTEGER012 = INTEGER011 + 1
If (INTEGER012 < 3) Then
PrintLn "@X0FIt will take 1-2 minutes to build your collage. Please be patient."
PrintLn
Else
If (MinLeft() < INTEGER012) Then
If (INTEGER013 < 10) Then
PrintLn "@X0AYou do not have enough time left to build the collage file."
Goto LABEL013
Endif
PrintLn "@X0AYou do not have enough time left to build the collage files."
:LABEL013
PrintLn "@X0F"
End
Endif
If (INTEGER001 < 10) Then
PrintLn "@X0FIt may take @X0E", INTEGER011, "-", INTEGER012, " minutes@X0F to build the collage file."
Else
PrintLn "@X0FIt may take @X0E", INTEGER011, "-", INTEGER012, " minutes@X0F to build the collage files."
Endif
InputStr "@X0EDo you wish to continue (@X0CY@X0E/@X0CN@X0E)", STRING002, 14, 1, "", 8192 + 16384
If (Upper(STRING002) == "N") Then
Cls
End
Endif
Newline
PrintLn " "
PrintLn "@X0AOK, here we go....."
PrintLn " "
Endif
If (Exist("GIFDEDK.CMD")) Goto LABEL014
Copy PPEPath() + "GIFDESK.CMD", "GIFDESK.CMD"
:LABEL014
For INTEGER002 = 1 To 11
TSTRING006(INTEGER002) = "*"
Next
INTEGER015 = 1
SaveScrn
Shell 1, INTEGER002, "ATTRIB -r " + STRING008 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING008 + "*.GIF", ""
RestScrn
If (Exist("GIFDSK00.GIF")) Delete "GIFDSK00.GIF"
FOpen 1, "GIFCOLL." + STRING011, 0, 0
INTEGER010 = 0
INTEGER003 = GetX()
INTEGER004 = GetY()
:LABEL015
INTEGER009 = 9
If (INTEGER001 < 10) Then
INTEGER009 = INTEGER001
Endif
INTEGER001 = INTEGER001 - INTEGER009
INTEGER010 = INTEGER010 + 1
Print "@X0EPreparing @X0C", INTEGER009, "@X0E files for collage #", INTEGER010, ":@X0A"
INTEGER005 = GetX()
INTEGER006 = GetY()
For INTEGER002 = 1 To INTEGER009
FGet 1, STRING015
STRING003 = STRING015
FGet 1, STRING015
STRING004 = STRING008 + STRING015
AnsiPos INTEGER005, INTEGER006
ClrEol
Print " Frame ", INTEGER002, " is ", STRING015
Copy STRING003, STRING004
Next
AnsiPos INTEGER003, INTEGER004
ClrEol
:LABEL016
STRING017 = STRING017 + 1
STRING004 = STRING017
STRING003 = "C" + STRING010 + STRING004 + ".GIF"
INTEGER002 = 1
While (INTEGER002 < INTEGER015 + 1) Do
If (STRING003 == TSTRING006(INTEGER002)) Then
Goto LABEL016
Endif
INTEGER002 = INTEGER002 + 1
EndWhile
Print "@X0EBuilding GIF collage #", INTEGER010, " (", STRING003, ") - Please stand by....."
SaveScrn
Shell 1, INTEGER002, PPEPath() + "GIFDESK.EXE " + STRING008 + "*.gif", ""
RestScrn
If (Exist("GIFDSK00.GIF")) Goto LABEL017
PrintLn "@X0AGIFDESK collage build failed - Notify your SysOp."
Log "GIFDESK did not build the collage.", 0
PrintLn " "
PrintLn "@PAUSE@"
End
:LABEL017
AnsiPos INTEGER003, INTEGER004
ClrEol
PrintLn "@X0AGIF collage #", INTEGER010, " (", STRING003, ") is ready and being moved to a download area."
INTEGER003 = GetX()
INTEGER004 = GetY()
TSTRING006(INTEGER015) = STRING003
INTEGER015 = INTEGER015 + 1
STRING004 = STRING016 + "\" + STRING003
STRING003 = "GIFDSK00.GIF"
Copy STRING003, STRING004
Delete "GIFDSK00.GIF"
SaveScrn
Shell 1, INTEGER002, "ATTRIB -r " + STRING008 + "*.GIF", ""
Shell 1, INTEGER002, "DEL " + STRING008 + "*.GIF", ""
RestScrn
AnsiPos INTEGER003, INTEGER004
If (INTEGER001 > 0) Then
Goto LABEL015
Endif
FClose 1
Delete "GIFCOLL." + STRING011
PrintLn " "
PrintLn "@X0AYour collage file(s) are ready to download. @X0CIf you do not want to download"
PrintLn "the GIF files that have been placed in the collage file(s), answer @X0FN@X0C to the"
PrintLn "@X0EDownload Flagged Files@X0C question. @X0AIf you do want to download them along with"
PrintLn "the collage file(s), then answer @X0FY@X0A to the question."
STRING007 = TSTRING006(1)
INTEGER015 = 2
While (TSTRING006(INTEGER015) <> "*") Do
STRING007 = STRING007 + ";" + TSTRING006(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
Download STRING007
INTEGER015 = 1
While (TSTRING006(INTEGER015) <> "*") Do
Delete STRING016 + "\" + TSTRING006(INTEGER015)
INTEGER015 = INTEGER015 + 1
If (INTEGER015 > 11) Then
Break
Endif
EndWhile
If (INTEGER016 <> 0) Then
Cls
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn "@X38┌────────────────────────────────────────────────────────────────────────────@X3B┐@X0B"
PrintLn "@X38│ @X39GIF Collage Builder v2.7 @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38│@X3E Thank you for using the GIF Collage processor command. If you find this @X3B│@X0B"
PrintLn "@X38│@X3E PCBoard add on command usefull, please ask your SysOp to register it today!@X3B│@X0B"
PrintLn "@X38│@X3E You could even offer to share the small cost to get rid of that annoying @X3B│@X0B"
PrintLn "@X38│@X3E delay when it starts along with this irritating screen. @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38│@X39 Remember, Shareware is NOT Freeware! @X3B│@X0B"
PrintLn "@X38│@X3E @X3B│@X0B"
PrintLn "@X38└@X3B────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn " "
PrintLn "@PAUSE@"
Endif
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 7 End
; 4 Cls
; 4 ClrEol
; 1 More
; 78 Goto
; 69 Let
; 9 Print
; 59 PrintLn
; 53 If
; 1 DispFile
; 5 FOpen
; 5 FClose
; 5 FGet
; 9 Delete
; 7 Log
; 2 InputStr
; 4 Delay
; 1 Newline
; 3 Tokenize
; 7 Shell
; 4 AnsiPos
; 5 Backup
; 4 SaveScrn
; 4 RestScrn
; 1 FRead
; 1 FWrite
; 3 Copy
; 1 Download
;
;
; ■ Functions used :
;
; 2 *
; 3 /
; 69 +
; 1 -
; 17 ==
; 3 <>
; 14 <
; 3 <=
; 7 >
; 6 >=
; 47 !
; 6 &&
; 3 ||
; 2 Upper()
; 2 Ferr()
; 1 Random()
; 1 YesChar()
; 2 PCBDat()
; 6 PPEPath()
; 2 ReadLine()
; 10 GetToken()
; 1 MinLeft()
; 1 GetEnv()
; 10 Exist()
; 3 GetX()
; 3 GetY()
; 1 HelpPath()
; 4 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Sd
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
; d - Access PCBOARD.DAT ■ 2
; Program gets the full pathname to PCBOARD.DAT, this may be usefull
; for many PPE so they can find various informations on the system
; (system paths, max number of lines in messages, ...) but it may also
; be a way to gather vital informations.
; ■ Search for : PCBDAT()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 3 For/Next
; 3 While/EndWhile
; 30 If/Then or If/Then/Else
; 2 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------